// bool, Obj this, Obj other

Unit me;
Building bld;

me = this.AsUnit();
bld = other.AsBuilding();

if(!me.IsValid()) return false;
if(!me.IsAlive()) return false;
if(!bld.IsValid()) return false;
if(me.IsMilitary()) return false;
if(bld.IsHeirOf("GreatTavern")) return false;
//if(!bld.IsCentralBuliding()) return false;
if(bld.IsHeirOf("BaseRuins")) return false;
if(bld.IsHeirOf("Catapult")) return false;

if(!DiplGetShareView(bld.player, me.player)) return false;

return (!me.IsEnemy(bld));

